package done.easy_901_1000;

import org.junit.Test;

import static com.study.util.LogUtil.info;

/**
 * 942. DI String Match 增减字符串匹配
 * <p>
 * 给定只含 "I"（增大）或 "D"（减小）的字符串 S ，令 N = S.length。
 * 返回 [0, 1, ..., N] 的任意排列 A 使得对于所有 i = 0, ..., N-1，都有：
 * 如果 S[i] == "I"，那么 A[i] < A[i+1]
 * 如果 S[i] == "D"，那么 A[i] > A[i+1]
 * <p>
 * 示例 1：
 * 输出："IDID"
 * 输出：[0,4,1,3,2]
 * 示例 2：
 * 输出："III"
 * 输出：[0,1,2,3]
 * 示例 3：
 * 输出："DDI"
 * 输出：[3,2,0,1]
 * <p>
 * 2019-04-14 10:17 PM
 **/
@SuppressWarnings("all")
public class DIStringMatch {

    public int[] diStringMatch(String S) {
        // 190415 first
        return null;
    }

    @Test
    public void test() {
        info("[0, 4, 1, 3, 2] -> {}", diStringMatch("IDID"));
        info("[0, 1, 2, 3]    -> {}", diStringMatch("III"));
        info("[3, 2, 0, 1]    -> {}", diStringMatch("DDI"));
    }
}







































/*
public int[] diStringMatch(String S) {
    int arr[] = new int [S.length()+1];
    int now  = 0;

    int i = 0;
    int j = S.length();
    // 两个指针 i，j
    // 一个从前向后走  另一个从后向前
    for (now = 0; now < S.length(); now++)
        arr[now] = S.charAt(now) == 'I' ? i++ : j--;

    arr[now] = i;
    return arr;
}
*/
